import Vue from 'vue'
import VueRouter from 'vue-router'
import auth from '@/utils/auth'

Vue.use(VueRouter)

const routes = [
  {
    path: '/', // 默认根路由
    redirect: '/login' // 重定向属性，当网页路由为 / 时，会自动跳转到/find 路由上
  },
  {
    path: '/login',
    component: () => import('../views/login/login.vue') // 懒加载页面组件
  },
  {
    path: '/layout',
    component: () => import('../views/layout/layout.vue'), // 懒加载页面组件
    // 路由嵌套
    children: [
      {
        path: 'home',
        component: () => import('../views/home/home.vue') // 懒加载页面组件
      },
      {
        path: 'article',
        component: () => import('../views/article/article.vue') // 懒加载页面组件
      },
      {
        path: 'publish',
        component: () => import('../views/publish/publish.vue') // 懒加载页面组件
      }
    ]
  }
]

const router = new VueRouter({
  routes
})

router.beforeEach((to, from, next) => {
  // 获取token
  const token = auth.getToken()
  // 不是访问登录，且没有token，跳转登录页面
  if (to.path !== '/login' && !token) return next('/login')
  // 其他情况放行
  next()
})

export default router
